home *** CD-ROM | disk | FTP | other *** search
- OPT PREPROCESS, OSVERSION=37
-
- MODULE 'tools/exceptions', 'tools/EasyGUI', 'exec/nodes', 'exec/lists',
- 'easyplugins/dclistview', 'tools/constructors', 'utility', 'utility/tagitem'
-
- DEF result=-1
-
- PROC main() HANDLE
- DEF dclist:PTR TO dclistview_plugin
- DEF list, a, nodes
-
- IF (utilitybase:=OpenLibrary('utility.library', 37))=NIL THEN Raise("utlb")
-
- list:=newlist()
-
- nodes:=['zero','one','two','three','four','five','six','seven',
- 'eight','nine','ten','eleven','twelve','thirteen','fourteen']
-
- ForAll({a}, nodes, `AddTail(list, newnode(NIL, a)))
-
- NEW dclist.dclistview([PLA_DCListView_Label, 'L_abel',
- PLA_DCListView_RelativeX, 15,
- PLA_DCListView_RelativeY, 7,
- PLA_DCListView_ExecList, list,
- PLA_DCListView_Current, result,
- PLA_DCListView_DoubleClick, {dc_listaction},
- PLA_DCListView_Key, "a",
- TAG_DONE])
-
- easyguiA('Double Click test',
- [EQROWS,
- [DCLIST, {sc_listaction}, dclist, TRUE], ->note use OF ID constant (=PLUGIN)
- [EQCOLS,
- [SBUTTON, {okaction}, '_OK', dclist, "o"],
- [SBUTTON, {disabler}, '_Disable', dclist, "d"],
- [SBUTTON, {cancelaction}, '_Cancel', NIL, "c"]
- ]
- ])
- EXCEPT DO
-
- END dclist
-
- IF exception<>"QUIT" THEN report_exception()
-
- IF utilitybase THEN CloseLibrary(utilitybase)
-
- ENDPROC
-
- PROC sc_listaction(info, dclist:PTR TO dclistview_plugin)
-
- PrintF('Current Selection: \d\n', dclist.get(PLA_DCListView_Current))
-
- ENDPROC
-
- PROC dc_listaction(dclist:PTR TO dclistview_plugin, current) IS okaction(dclist, NIL)
-
- PROC okaction(dclist:PTR TO dclistview_plugin, info)
-
- IF (result:=dclist.get(PLA_DCListView_Current))= -1
- PrintF('No selection made\n')
- cancelaction(info)
- ENDIF
- PrintF('Final Selection: \d\n',result)
- quitgui(result)
-
- ENDPROC
-
- PROC disabler(dclist:PTR TO dclistview_plugin, info)
- ENDPROC dclist.set(PLA_DCListView_Disabled, dclist.get(PLA_DCListView_Disabled)=FALSE)
-
- PROC cancelaction(info)
- PrintF('Operation cancelled.\n')
- quitgui()
- ENDPROC
-
-